1. Field of the Invention
The present invention relates to data communication technology and, more particularly, a data transmission device and a pause frame conversion method.
2. Description of the Related Art
In association with the expansion of the smartphone market, etc., an increasing number of data transmission devices are being built. It is imperative to increase the level of integration of interface circuits in transmission devices, lower the cost of the circuits, and reduce the time required for delivery of the design. Products from device vendors and interface units built of control and monitor circuits, etc. can be combined to reduce the time required for development of transmission devices.
Unlike the case of using custom-designed devices, use of general-purpose devices provided by devices vendors inherently requires certain compromise in device specification, addition or adjustment of functionality using external circuits, etc. Use of general-purpose devices provided by device vendors has become a standard means for designing transmission devices because it involves a lower risk and FPGAs used for control and monitor have become more and more convenient to use recently.
In this background, it has become important how to address a difference between the specification required of a transmission device and the specification of general-purpose devices built in the transmission device. Normally, device vendors aim to provide general-purpose devices suited to major needs on the market and to remove old functionalities and interfaces from the perspective of, for example, reduction of cost. In contrast, developers of transmission devices need to develop devices by allowing for requirements from clients (e.g., communication carriers) who would like old functionalities and interfaces to continue.
The rate of Ethernet transmission devices (“Ethernet” is a registered trademark) has increased from 10 Mbps to 10 Gbps/100 Gbps, but some clients request that the device be compatible with 10 Mbps (10 BASE-T). Recently, however, some device vendors remove the capabilities for 10 BASE-T from the specification of general-purpose devices, requiring the developer of a transmission device to implement functionalities for compatibility with 10 BASE-T.
It should be noted that a pause frame for flow control is defined in IEEE802.3. A pause frame is a MAC frame that tells the source of transmission (e.g., an opposing device in communication) to stop transmitting packets temporarily when the packet storage memory in a communication device is full or the free memory space falls below a threshold level. As shown in FIG. 1 a pause frame is comprised of 64 octets. The requested time of pause of packet transmission is contained in a field for pause time located in the 17th and 18th octets from the start of the pause frame. Because the field size for pause time is 2 octets, any value from 0-65535 can be designated as a pause time value (hereinafter, also referred to as “quanta value”) (see, for example, patent document 1).
[Patent Document 1] JP2003-169072
It will now be assumed that the processing unit for controlling transmission or pause of transmission of frames in a transmission device is built by general-purpose devices compatible with 100 Mbps communication but the client device opposing the transmission device is compatible with 10 Mbps communication. It is assumed that the client device detects that its memory is full and transmits a pause frame to the transmission device. A quanta, which is a unit of pause time designated by a pause frame, specifies the time required to send 512 bits. In other words, a quanta in the case of 10 Mbps specifies 51.2 μs, and a quanta in the case of 100 Mbps specifies 5.12 μs. Therefore, if a pause frame transmitted from the client device is delivered to the general-purpose device without converting its quanta value, a difference is created between the pause time requested by the client device and the time for which the transmission device actually stops transmitting packets (FIG. 2).
This may be addressed by converting the quanta value of a pause frame transmitted from the client device before delivering the frame to the general-purpose device. For example, when a pause frame is received from the client device, the quanta value designated by the pause frame is multiplied by 10 so that a pause frame designating a quanta value 10 times the original value is transferred to the general-purpose device. This can match the pause time requested by the client device with the time for which the transmission device actually stops transmitting packets (FIG. 3).